package com.nanshenycd.service;

import com.nanshenycd.pojo.Blog;
import com.nanshenycd.vo.*;

import java.util.List;
import java.util.Map;

public interface BlogService {
    int saveBlog(Blog blog);

    Blog getBlogById(Long id);

    List<BlogQuery> getAllBlogByBlogQuery();

    //修改recommend,因为recommend从前台接收只能接收字符串，但数据库中的Integer类型，所以转一下
    void transformRecommend(SearchBlog searchBlog);

    //根据条件查询博客
    List<BlogQuery> getBlogBySearch(SearchBlog searchBlog);

    int deleteBlog(Long id);

    int updateBlog(ShowBlog blog);

    List<RecommendBlog> getRecommendedBlog();

    List<FirstPageBlog> getSearchBlog(String query);

    //获取首页分页博客列表
    List<FirstPageBlog> getAllFirstPageBlog();

    //获取博客详情
    DetailedBlog getDetailedBlog(Long id);

    //根据TypeId获取博客列表，在分类页进行的操作
    List<FirstPageBlog> getByTypeId(Long typeId);

    List<FirstPageBlog> getByTagId(Long tagId);

    //获取归档信息
    Map<String,List<Blog>> archiveBlog();

    //返回博客总条数
    int countBlog();
}
